package com.fbs.wowo.manage.service;

import com.fbs.wowo.manage.entity.Permission;
import com.fbs.wowo.manage.entity.Role;

import java.util.List;
import java.util.Set;

public interface AuthService {
    /*******************************
     *
     * 权限管理
     *
     *******************************/
    /**
     * 按用户id查找角色
     * @param userId 用户 id
     * @return Role list
     */
    List<Role> findByUserId(String userId);

    /**
     * 按角色查找权限
     * @param id 角色 主键id
     * @return Permission list
     */
    List<Permission> findByRoleId(Integer id);

    /**
     * 按用户id查找角色字符串集合
     * @param userId
     * @return role string set
     */
    Set<String> findRoleStr(String userId);

    /**
     * 按用户id查找权限字符串集合
     * @param userId
     * @return permission string set
     */
    Set<String> findPermissionStr(String userId);

    /**
     * 创建权限
     */
    void createPermission(Permission permission);
    /**
     * 角色绑定权限
     */
    void addPermissionToRole(Integer roleId, Integer permissionId);
    /**
     * 创建角色
     */
    void createRole(Role role);
    /**
     * 用户绑定角色
     */
    void addRoleToUser(String userId, Integer roleId);
}
